package com.xbongbong.paas.connection.service;

import com.alibaba.fastjson.JSONObject;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.BaseVO;

import javax.servlet.http.HttpServletRequest;

public interface IOpenAppService {

    /**
     * 获取第三方应用的header信息
     * @return
     */
    JSONObject getHeader();

    /**
     * 第一次数据初始化
     * @throws XbbException
     * 创建时间 2020/2/26 11:03 AM
     * 修改时间 2020/2/26 11:03 AM
     * @author chy
     */
    void dataInit(String corpid) throws XbbException;

    /**
     * 初始化进度
     * @return
     * 创建时间 2020/2/26 11:05 AM
     * 修改时间 2020/2/26 11:05 AM
     * @author chy
     */
    JSONObject dataInitSchedule();

    /**
     * 第三方应用回调处理
     * @param jsonObject
     * @throws XbbException
     * 创建时间 2020/9/15 4:33 PM
     * 修改时间 2020/9/15 4:33 PM
     * @author chy
     */
    BaseVO openAppApiCallbackAccept(JSONObject jsonObject) throws XbbException;

    /**
     * 请求参数合法性校验
     * @param httpRequest
     * @param data
     * @throws XbbException
     * 创建时间 2020/9/15 5:13 PM
     * 修改时间 2020/9/15 5:13 PM
     * @author chy
     */
    void requestCheck(HttpServletRequest httpRequest, JSONObject data) throws XbbException;
}
